#include <iostream>
#include "BinartSearchTree.h"

int main() {
    BinarySearchTree<int> bst;

    bst.insert(30);
    bst.insert(20);
    bst.insert(40);
    bst.insert(10);
    bst.insert(25);
    bst.insert(35);
    bst.insert(45);
    bst.insert(5);
    bst.insert(15);

    std::cout << "Initial tree:" << std::endl;
    bst.printTree();

    bst.remove(30);
    bst.remove(10);
    bst.remove(45);

    std::cout << "Tree after removing 30, 10, and 45:" << std::endl;
    bst.printTree();

    return 0;
}